System and Method for Automated Patient Interaction

ABSTRACT

Provided is a system and method for automated patient interaction. The method includes parsing a patient complaint comprising a plurality of words, determining a subset of patient queries from a plurality of patient queries based on the patient complaint and patient data, communicating the subset of patient queries to a first computing device; receiving, from the first computing device, responses to at least a portion of the subset of patient queries; generating output data based on the subset of patient queries and the responses; communicating the output data to a second computing device; receiving, from the second computing device, a user input corresponding to at least one patient query of the subset of patient queries; and training, based on the user input, at least one machine-learning algorithm configured to output at least one patient query based on at least one of the patient complaint and a subsequent patient complaint.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation application of U.S. patentapplication Ser. No. 16/685,060, filed on Nov. 15, 2019, the disclosureof which is hereby incorporated by reference in its entirety.

BACKGROUND 1. Field

This disclosure relates generally to patient interaction and, innon-limiting embodiments, to systems, methods, and computer-programproducts for automatically interacting with patients.

2. Technical Considerations

Patients seeking medical treatment or advice must often wait for longperiods of time to consult with a healthcare professional. For remoteconsultations through respective computing devices operated by a patientand healthcare professional, it is desirable to automate informationgathering steps, such as posing questions to the patient, to reduce theamount of time spent by a relevant healthcare professional. It is alsodesirable to reduce the number of queries posed to the patient to ensurea quick and efficient patient interaction, to keep the patient engaged,to efficiently use computing resources, and to optimize the informationbeing gathered to allow the healthcare professional to make an informeddiagnosis or recommendation.

SUMMARY

According to non-limiting embodiments or aspects, provided is acomputer-implemented method for automated patient interaction,comprising: parsing, with at least one processor, a patient complaintcomprising a plurality of words relating to a health of a patient;determining, with at least one processor, a subset of patient queriesfrom a plurality of patient queries stored in a patient query databasebased on the patient complaint and patient data; communicating thesubset of patient queries to a first computing device; receiving, fromthe first computing device, responses to at least a portion of thesubset of patient queries; generating, with at least one processor,output data based on the subset of patient queries and the responses;communicating the output data to a second computing device; receiving,from the second computing device, a user input corresponding to at leastone patient query of the subset of patient queries; and training, withat least one processor and based on the user input, at least onemachine-learning algorithm configured to output at least one patientquery based on at least one of the patient complaint and a subsequentpatient complaint.

In non-limiting embodiments, the plurality of patient queries isarranged in at least one data structure, and wherein communicating thesubset of patient queries to the first computing device and receivingthe responses to the at least a portion of the subset of patient queriescomprises: communicating at least one query of the subset of patientqueries to the first computing device; receiving a response to the atleast one query from the first computing device; selecting a next queryof the subset of patient queries based on the response; communicatingthe next query to the first computing device; and receiving a nextresponse to the next query from the first computing devices. Innon-limiting embodiments, the user input comprises removing at least onepatient query from the subset of patient queries. In non-limitingembodiments, the user input comprises adding at least one query to thesubset of patient queries from the plurality of patient queries. Innon-limiting embodiments, the user input comprises prioritizing at leastone query of the subset of patient queries with respect to at least oneother query of the subset of patient queries. In non-limitingembodiments, communicating the subset of patient queries is performed bya chat bot application configured to interact with the patient via voiceand/or text. In non-limiting embodiments, the patient data comprises atleast one of a gender and an age. In non-limiting embodiments,determining the subset of patient queries is based further on at leastone response received from the first computing device to at least oneinitial query determined based on the patient complaint.

In non-limiting embodiments, the computer-implemented method furthercomprises: after communicating the output data to the second computingdevice, facilitating voice and/or text communication between an operatorof the second computing device and the patient using the first computingdevice. In non-limiting embodiments, the at least one machine-learningalgorithm applies at least one model to the patient complaint and thepatient data, the method further comprising: generating training databased on a plurality of patient complaints and training input datacorresponding to the plurality of patient complaints; and training theat least one model based on the training data. In non-limitingembodiments, the computer-implemented method further comprises:communicating the plurality of patient complaints and the plurality ofpatient queries to a third computing device; and receiving, from thethird computing device, a selected subset of patient queries from theplurality of patient queries, the training input data comprises theselected subset of patient queries. In non-limiting embodiments, theuser input received from the second computing device comprises the voiceand/or text communication. In non-limiting embodiments, the at least onemachine-learning algorithm applies a neural network to the patientcomplaint and the patient data. In non-limiting embodiments, the neuralnetwork is based on word embeddings.

According to non-limiting embodiments or aspects, provided is a systemfor automated patient interaction, comprising: at least one data storagedevice comprising a plurality of patient queries; and at least oneprocessor in communication with the at least one data storage device,the at least one processor programmed or configured to: parse a patientcomplaint comprising a plurality of words relating to a health of apatient; determine a subset of patient queries from the plurality ofpatient queries based on the patient complaint and patient data;communicate the subset of patient queries to a first computing device;receive, from the first computing device, responses to at least aportion of the subset of patient queries; generate output data based onthe subset of patient queries and the responses; communicate the outputdata to a second computing device; receive, from the second computingdevice, user input corresponding to at least one patient query of thesubset of patient queries; and train at least one machine-learningalgorithm based on the user input, the at least one machine-learningalgorithm configured to output at least one patient query based on atleast one of the patient complaint and a subsequent patient complaint.

In non-limiting embodiments, the plurality of patient queries isarranged in at least one data structure, and wherein communicating thesubset of patient queries to the first computing device and receivingthe responses to the at least a portion of the subset of patient queriescomprises: communicating at least one query of the subset of patientqueries to the first computing device; receiving a response to the atleast one query from the first computing device; selecting a next queryof the subset of patient queries based on the response; communicatingthe next query to the first computing device; and receiving a nextresponse to the next query from the first computing devices. Innon-limiting embodiments, the user input comprises removing at least onepatient query from the subset of patient queries. In non-limitingembodiments, the user input comprises adding at least one query to thesubset of patient queries from the plurality of patient queries. Innon-limiting embodiments, the user input comprises prioritizing at leastone query of the subset of patient queries with respect to at least oneother query of the subset of patient queries. In non-limitingembodiments, wherein communicating the subset of patient queries isperformed by a chat bot application configured to interact with thepatient via voice and/or text. In non-limiting embodiments, the patientdata comprises at least one of a gender and an age. In non-limitingembodiments, wherein determining the subset of patient queries is basedfurther on at least one response received from the first computingdevice to at least one initial query determined based on the patientcomplaint.

In non-limiting embodiments, the at least one processor is furtherprogrammed or configured to: after communicating the output data to thesecond computing device, facilitate voice and/or text communicationbetween an operator of the second computing device and the patient usingthe first computing device. In non-limiting embodiments, the user inputreceived from the second computing device comprises the voice and/ortext communication. In non-limiting embodiments, the at least onemachine-learning algorithm applies a neural network to the patientcomplaint and the patient data. In non-limiting embodiments, the neuralnetwork is based on word embeddings. In non-limiting embodiments, the atleast one machine-learning algorithm applies at least one model to thepatient complaint and the patient data, and the at least one processoris further programmed or configured to: generate training data based ona plurality of patient complaints and training input data correspondingto the plurality of patient complaints; and train the at least one modelbased on the training data. In non-limiting embodiments, the at leastone processor is further programmed or configured to: communicate theplurality of patient complaints and the plurality of patient queries toa third computing device; and receive, from the third computing device,a selected subset of patient queries from the plurality of patientqueries, the training input data comprises the selected subset ofpatient queries.

According to non-limiting embodiments or aspects, provided is a computerprogram product for automated patient interaction, comprising at leastone non-transitory computer-readable medium including programinstructions that, when executed by at least one processor, cause the atleast one processor to: parse a patient complaint comprising a pluralityof words relating to a health of a patient; determine a subset ofpatient queries from a plurality of patient queries based on the patientcomplaint and patient data; communicate the subset of patient queries toa first computing device; receive, from the first computing device,responses to at least a portion of the subset of patient queries;generate output data based on the subset of patient queries and theresponses; communicate the output data to a second computing device;receive, from the second computing device, user input corresponding toat least one patient query of the subset of patient queries; and trainat least one machine-learning algorithm based on the user input, the atleast one machine-learning algorithm configured to output at least onepatient query based on at least one of the patient complaint and asubsequent patient complaint.

According to non-limiting embodiments or aspects, provided is acomputer-implemented method for automated patient interaction,comprising: parsing, with at least one processor, a patient complaintcomprising a plurality of words relating to a health of a patient;automatically interacting, with at least one processor and based on atleast one machine-learning algorithm, with an operator of a firstcomputing device by communicating a subset of patient queries to thefirst computing device and receiving responses to at least a portion ofthe subset of queries from the first computing device, the subset ofqueries selected from a plurality of patient queries; generating, withat least one processor, output data based on the responses;communicating the output data to a second computing device; receiving,from the second computing device, a user input corresponding to at leastone patient query of the subset of patient queries; and training, withat least one processor, the at least one machine-learning algorithmbased on the user input.

According to non-limiting embodiments or aspects, provided is a systemfor automated patient interaction, comprising: at least one data storagedevice comprising a plurality of patient queries; and at least oneprocessor in communication with the at least one data storage device,the at least one processor programmed or configured to: parse a patientcomplaint comprising a plurality of words relating to a health of apatient; automatically interact, based on at least one machine-learningalgorithm, with an operator of a first computing device by communicatinga subset of patient queries to the first computing device and receivingresponses to at least a portion of the subset of queries from the firstcomputing device, the subset of queries selected from the plurality ofpatient queries; generate output data based on the responses;communicate the output data to a second computing device; receive, fromthe second computing device, a user input corresponding to at least onepatient query of the subset of patient queries; and train the at leastone machine-learning algorithm based on the user input.

According to non-limiting embodiments or aspects, provided is a computerprogram product for automated patient interaction, comprising at leastone non-transitory computer-readable medium including programinstructions that, when executed by at least one processor, cause the atleast one processor to: parse a patient complaint comprising a pluralityof words relating to a health of a patient; automatically interact,based on at least one machine-learning algorithm, with an operator of afirst computing device by communicating a subset of patient queries tothe first computing device and receiving responses to at least a portionof the subset of queries from the first computing device, the subset ofqueries selected from a plurality of patient queries; generate outputdata based on the responses; communicate the output data to a secondcomputing device; receive, from the second computing device, a userinput corresponding to at least one patient query of the subset ofpatient queries; and train the at least one machine-learning algorithmbased on the user input.

These and other features and characteristics of the present disclosure,as well as the methods of operation and functions of the relatedelements of structures and the combination of parts and economies ofmanufacture, will become more apparent upon consideration of thefollowing description and the appended claims with reference to theaccompanying drawings, all of which form a part of this specification,wherein like reference numerals designate corresponding parts in thevarious figures. It is to be expressly understood, however, that thedrawings are for the purpose of illustration and description only andare not intended as a definition of the limits of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

Additional advantages and details are explained in greater detail belowwith reference to the non-limiting, exemplary embodiments that areillustrated in the accompanying figures, in which:

FIG. 1 illustrates a system for automated patient interaction accordingto a non-limiting embodiment;

FIG. 2 illustrates a system for automated patient interaction accordingto a non-limiting embodiment;

FIG. 3 illustrates structured data for use in a system for automatedpatient interaction according to a non-limiting embodiment;

FIGS. 4A and 4B illustrate graphical user interfaces for use in a systemfor automated patient interaction according to a non-limitingembodiment;

FIG. 5 illustrates another graphical user interface for use in a systemfor automated patient interaction according to a non-limitingembodiment;

FIG. 6 illustrates input data for use in a system for automated patientinteraction according to a non-limiting embodiment;

FIG. 7 illustrates output data for use in a system for automated patientinteraction according to a non-limiting embodiment;

FIG. 8 illustrates a flow diagram for a system and method for automatedpatient interaction according to a non-limiting embodiment; and

FIG. 9 illustrates example components of a computing device used inconnection with non-limiting embodiments.

DETAILED DESCRIPTION

It is to be understood that the embodiments may assume variousalternative variations and step sequences, except where expresslyspecified to the contrary. It is also to be understood that the specificdevices and processes described in the following specification, aresimply exemplary embodiments or aspects of the disclosure. Hence,specific dimensions and other physical characteristics related to theembodiments or aspects disclosed herein are not to be considered aslimiting. No aspect, component, element, structure, act, step, function,instruction, and/or the like used herein should be construed as criticalor essential unless explicitly described as such. Also, as used herein,the articles “a” and “an” are intended to include one or more items andmay be used interchangeably with “one or more” and “at least one.” Also,as used herein, the terms “has,” “have,” “having,” or the like areintended to be open-ended terms. Further, the phrase “based on” isintended to mean “based at least partially on” unless explicitly statedotherwise.

As used herein, the term “communication” may refer to the reception,receipt, transmission, transfer, provision, and/or the like of data(e.g., information, signals, messages, instructions, commands, and/orthe like). For one unit (e.g., a device, a system, a component of adevice or system, combinations thereof, and/or the like) to be incommunication with another unit means that the one unit is able todirectly or indirectly receive information from and/or transmitinformation to the other unit. This may refer to a direct or indirectconnection (e.g., a direct communication connection, an indirectcommunication connection, and/or the like) that is wired and/or wirelessin nature. Additionally, two units may be in communication with eachother even though the information transmitted may be modified,processed, relayed, and/or routed between the first and second unit. Forexample, a first unit may be in communication with a second unit eventhough the first unit passively receives information and does notactively transmit information to the second unit. As another example, afirst unit may be in communication with a second unit if at least oneintermediary unit processes information received from the first unit andcommunicates the processed information to the second unit.

As used herein, the term “computing device” may refer to one or moreelectronic devices configured to process data. A computing device may,in some examples, include the necessary components to receive, process,and output data, such as a processor, a display, a memory, an inputdevice, a network interface, and/or the like. A computing device may bea mobile device. As an example, a mobile device may include a cellularphone (e.g., a smartphone or standard cellular phone), a portablecomputer, a wearable device (e.g., watches, glasses, lenses, clothing,and/or the like), a personal digital assistant (PDA), and/or other likedevices. A computing device may also be a desktop computer or other formof non-mobile computer.

As used herein, the term “server computer” may refer to or include oneor more computing devices that are operated by or facilitatecommunication and processing for multiple parties in a networkenvironment, such as the Internet, although it will be appreciated thatcommunication may be facilitated over one or more public or privatenetwork environments and that various other arrangements are possible.Further, multiple computing devices (e.g., server computers, mobiledevices, etc.) directly or indirectly communicating in the networkenvironment may constitute a “system.” Reference to “a server” or “aprocessor,” as used herein, may refer to a previously-recited serverand/or processor that is recited as performing a previous step orfunction, a different server and/or processor, and/or a combination ofservers and/or processors. For example, as used in the specification andthe claims, a first server and/or a first processor that is recited asperforming a first step or function may refer to the same or differentserver and/or a processor recited as performing a second step orfunction.

As used herein, the term “application programming interface” (API) mayrefer to computer code that allows communication between differentsystems or (hardware and/or software) components of systems. Forexample, an API may include function calls, functions, subroutines,communication protocols, fields, and/or the like usable and/oraccessible by other systems or other (hardware and/or software)components of systems. As used herein, the term “user interface” or“graphical user interface” refers to a generated display, such as one ormore graphical user interfaces (GUIs) with which a user may interact,either directly or indirectly (e.g., through a keyboard, mouse,touchscreen, etc.).

Non-limiting embodiments are directed to a system and method forautomated patient interaction to provide relevant information to ahealthcare team during an automated interaction with a patient conductedwith a chat engine. Machine-learning techniques are used to parse apatient complaint and to select a subset of queries from a database ofqueries based on a complaint, thereby minimizing the number of queriesbeing asked to the patient to elicit medically-relevant information fordiagnosis, alerting, and/or triaging the patient. By reducing the numberof queries being asked, computational resources and the respectiveindividuals' time are used more efficiently. Non-limiting embodimentsmay be used for screening incoming patients, outpatient monitoring,selecting patients for clinical trials, and/or the like.

FIG. 1 shows a system 1000 for automated patient interaction accordingto a non-limiting embodiment. The system 1000 includes a server computer102, which may be a computing device operating in a network environment.The server computer 102 may be in communication with one or more datastorage devices through local and/or remote communication paths. In theexample shown, the server computer 102 is in local communication with aquery database 104 including query data stored on a first data storagedevice. The query data may include a plurality of queries (e.g.,questions, prompts, choices, and/or the like) for eliciting informationfrom a patient. The server computer 102 is also in communication with afirst computing device 106 operated by a patient or another user onbehalf of a patient. The first computing device 106 may include a mobiledevice or any other type of computing device and may display one or moreGUIs 108 for facilitating patient interaction. The first computingdevice 106 may communicate with the server computer 102 through a mobileapplication, through a web browser, and/or the like. In non-limitingembodiments, communication between the first computing device 106 andthe server computer 102 may be facilitated through one or more APIs,although various communication techniques may be used.

With continued reference to FIG. 1 , the server computer 102 is also incommunication with a second computing device 110 operated by aclinician, such as a doctor, nurse, therapist, individual acting onbehalf of such healthcare professionals, and/or the like. The secondcomputing device 110 may include a laptop computer, desktop computer,mobile device, and/or any other type of computing device and may displayone or more GUIs 112 for facilitating clinician interaction. The secondcomputing device 110 may communicate with the server computer 102through an application, through a web browser, and/or the like. Innon-limiting embodiments, communication between the second computingdevice 110 and the server computer 102 may be facilitated by one or moreAPIs, although various communication techniques may be used.

Still referring to FIG. 1 , in non-limiting embodiments, the servercomputer 102 automatically interacts with the first computing device 106using a subset of queries selected from the query database 104. As anexample, in response to a complaint and patient data communicated fromthe first computing device 106, the server computer 102 may determine asubset of queries from a plurality of queries in the query database 104to present to the operator of the first computing device through the GUI108 The server computer 102 may interact with the operator of the firstcomputing device 106 by presenting further queries based on responsesreceived from the first computing device 106, thereby facilitating anautomated interactive conversation in which the responses to the queriesare used to select new queries and/or to collect patient data for lateranalysis. During or after the automated interaction, a clinician orother user operating the second computing device 110 may begincommunicating with the operator (e.g., patient) of the first computingdevice 106. In some examples, the transition from an automated chatinteraction to a human-controlled communication with an operator of thesecond computing device 110 may occur automatically or, in otherexamples, may occur in response to an input from the operator of thesecond computing device 110 (e.g., by selecting a button or the like).In some examples, the transition from an automated chat interaction to ahuman-controlled communication with an operator of the second computingdevice 110 may be transparent to the user or, in other examples, may beexplicitly indicated. In this manner, the medical interview process tocollect relevant information is automated, saving valuable cliniciantime and resources. The clinician is then involved after such anautomated process to ask follow-up queries, communicate with thepatient, and provide treatment or advice to the patient.

FIG. 2 shows a system 2000 for automated patient interaction accordingto a non-limiting embodiment. The example illustrated in FIG. 2illustrates components of the server computer 102 that may beimplemented with hardware and/or software. For example, the servercomputer 102 may include a parsing engine 204, a query generator 206, achat engine 208, and an output generator 210. Each of these componentsmay be one or more software functions executable by the server computer102 and/or may be part of one or several software applications.Moreover, it will be appreciated that one or more of the parsing engine204, query generator 206, chat engine 208, and output generator 210 maybe external to the server computer 102 and utilized as an externalservice. For example, the parsing engine 204 may be an external servicethat is called from the server computer 102 and returns one or moreinput vectors based on a complaint and/or patient data. Various otherarrangements are possible.

With continued reference to FIG. 2 , a complaint 202 is input into theparsing engine. The complaint 202 may include a textual description of apatient's symptoms, questions, and/or concerns that are initiallypresented by the patient (e.g., a chief complaint). The complaint 202may be freeform text or may be structured data based on multiple inputsthrough a GUI. For example, the parsing engine may receive structureddata, such as but not limited to JavaScript Object Notation (JSON) orXML, as input data for compatibility with one or more front-end webservices (e.g., such as a client-side application or website) used toobtain input from the patient. The structured data may include, forexample, several fields including a text string of the complaint, avalue representing an age of the patient, a value representing a genderof the patient, and/or the like. In some non-limiting embodiments, thecomplaint 202 may be spoken into the first computing device 106 and aspeech-to-text conversion may be performed by the first computing device106 and/or the server computer 102.

Still referring to FIG. 2 , in non-limiting embodiments, the parsingengine 204 may be configured to clean, normalize, and/or format theinput text into a standardized and/or predetermined format using one ormore Natural Language Processing (NLP) algorithms. The data format maybe any type of data structure, such as a string with a standardizedsentence, a vector formed from multiple substrings, and/or the like. Insome non-limiting embodiments, the parsing engine 204 may output one ormore vectors generated based on the complaint 202 and patient data. Thevectors may be based on one or more words, phrases, and/or themesidentified in the complaint 202 with the parsing engine. A non-limitingexample of a vector 602 generated by the parsing engine 204 is shown inFIG. 6 , where the input sentence (e.g., complaint) of “I have a coughand a fever” is used to generate a vector 602 in which each word in avocabulary is represented by a TRUE (e.g., “1”) or FALSE (e.g., “0”)value. It will be appreciated that various formats of input vectors maybe used in different non-limiting embodiments.

In non-limiting embodiments, the parsing engine 204 may employ wordembedding techniques to generate a vector based on the complaint 202.For example, the vector 602 shown in FIG. 6 that represents thecomplaint 202 may be used to generate a further vector with a smallervector space that takes into consideration the context of the words inthe complaint, including adjacent words, ordering of words, and/or thelike. Word embeddings may be based on a typical language dictionary(e.g., English) and/or may also be based on medical terminology. In somenon-limiting embodiments, the word embeddings may be based on contextwithin the complaint and/or from patient data. For example, a vector forthe term “headache” may be a numerical representation that is adjustedbased on one or more adjacent words in context. A full sentence of wordsmay then be compressed into a single vector for use in the model. Theparsing engine 204 may utilize any suitable algorithm to generate thevector such as, for example, a neural network, a probabilistic model,and/or the like.

Still referring to FIG. 2 , the output of the parsing engine 204 isinput to the query generator 206. The query generator 206 may includesoftware and/or hardware configured to execute one or more algorithms todetermine a subset of patient queries from numerous queries stored inthe query database 104. For example, the query generator 206 may executeone or more algorithms that receive, as input, a feature vector based onthe complaint 202 and patient data and output a subset of queries fromthe query database 104. The query generator 206 may employ one or moremodeling and/or machine learning techniques to determine a subset ofqueries that correspond to the complaint and/or patient data (e.g., thatare deemed to provide useful information related to the complaint) suchas, for example, a neural network (e.g., a neural network, aconvolutional neural network, or the like), a regression model (e.g., alogistic regression model, an elastic net regression model, or thelike), a random forest model, a support-vector machine (SVM) model,and/or the like. The query generator 206 may utilize such models and/ormachine-learning algorithms to identify correlations between thecomplaint 202 or portions thereof and queries from the query database104. In non-limiting embodiments, the correlations may be a matter ofdegree such that the query generator 206 identifies the queries that aredetermined to be potentially relevant for the input to a thresholddegree of confidence. The input to the query generator 206 may includeone or more separate vectors for the complaint and the patient data or,in other examples, one or more vectors may be generated based on boththe complaint and the patient data. Patient data may include, forexample, age, gender, height, weight, medical history, and/or the like.It will be appreciated that various machine-learning algorithms may beimplemented to determine an optimal subset of queries to present to thepatient operating the first computing device 106. In non-limitingembodiments, the machine-learning algorithm may be configured tooptimize for a minimum number of queries to present to the patient bylearning which queries to skip in a given context to provide the samelevel of information to the clinician. In non-limiting embodiments, themachine-learning algorithm may employ multi-task learning to providemultiple outputs.

In non-limiting embodiments, the queries in the query database 104 maybe categorized into one or more categories. For example, the querycategories may include “story questions” (e.g., preliminary queries),asthma queries, dermatology queries, ear queries, fever/temperaturequeries, gastrointestinal queries, genital infection queries,headache/migraine queries, injury queries, medication queries,pain-related queries, mental health queries, respiratory queries, throatqueries, urinary queries, vision queries, women's' health queries,and/or the like. In non-limiting embodiments, the query generator 206may utilize a single model to determine queries from across multiplecategories. In other non-limiting embodiments, the query generator 206may utilize multiple models for multiple different query categories suchthat one or more categories has a corresponding model. The multiplemodels may or may not be dependent on one another. For example, anoutput from one model may be an input to another model or, in otherexamples, the models may operate independently.

In non-limiting embodiments, the query generator 206 may output thesubset of queries as any form of structured data such as, for example,XML, JSON, and/or the like. The query generator 206 may also modify(e.g., adjust, edit, customize, and/or the like) one or more of thequeries of the subset of queries based on the complaint 202 and/orpatient data. An example output of the query generator 206 is shown inFIG. 7 , where each query of a plurality of possible queries isrepresented in a vector 702 by a TRUE (e.g., “1”) or FALSE (e.g., “0”)value, such that the TRUE queries represent the subset of queries thatare to be presented. It will be appreciated that various formats ofoutputs maybe used in different non-limiting embodiments.

Still referring to FIG. 2 , in non-limiting embodiments, the chat engine208 receives, as input, the subset of queries output by the querygenerator 206. As described above, the subset of queries may be in theform of structured data, such as but not limited to JSON or XML,compatible with any particular front-end web services (e.g., such as aclient-side application or website) used to obtain responses from thepatient. The chat engine 208 then communicates with the first computingdevice 106 to interact with the operator of the first computing device106 (e.g., the patient or a user acting on behalf of the patient). Thechat engine 208 may interact with the operator in real-time via text,audio, and/or video. As an example, the chat engine 208 may be a serviceprovided by the server computer 102 that communicates individual queriesto the first computing device 106 for display on a GUI 108 and receivesresponses from the first computing device 106 to those queries. Innon-limiting examples, the chat engine 208 may be implemented with amodular web-based development framework, although any type ofapplication and/or architecture may be used.

In non-limiting embodiments, the chat engine 208 may iterate through astructured hierarchy or graph of the subset of queries. In somenon-limiting embodiments, the chat engine 208 may select a next queryfrom the subset of queries, such as selecting a branch of a graph datastructure, based on a previous response. In this manner only a portionof the subset of queries (e.g., a subset of the subset) may be askeddepending on the responses received. This selection process may occur asa result of receiving a response that includes information responsive tomultiple queries and/or a response that obviates presenting one or moreother queries. For example, if a user responds “yes” to a particularquery, the chat engine 208 may iterate through a portion of the subsetof queries related to that initial query that would not be presented ifthe user responded “no” to that same query. Likewise, in other examples,if a user responds “no” to a particular query, the chat engine 208 mayiterate through a portion of the subset of queries related to thatinitial query that would not be presented if the user responded “yes” tothat query. In some non-limiting embodiments, each query of the subsetof queries may be presented regardless of the responses.

In some non-limiting embodiments, the subset of queries may bedetermined by the query generator 206 on an ongoing basis during theinteraction between the patient and the chat engine 208. For example,the query generator may initially output a first subset of queries thatare presented with the chat engine 208, a second subset of queries thatare based on the responses received to the first subset of queries, andso on with any number of subsets.

With continued reference to FIG. 2 , the chat engine 208 may communicatewith the second computing device 110 operated by a user, such as aclinician. The second computing device 110 may display a GUI 112 basedon the interaction between the patient and the chat engine 208. Forexample, a clinician operating the second computing device 110 may viewthe dialog between the patient and the chat engine 208 in real-timeand/or subsequent to it occurring. The second computing device 110 mayalso affect (e.g., influence) operation of the chat engine 208 bycausing the chat engine 208 to include or skip one or more patientqueries based on input received through the GUI 112. The clinician mayalso use the second computing device 110 to cause the chat engine 208 tostop automatically presenting queries. The clinician may then take overthe interaction and begin communicating with the patient. The transitionfrom the interaction provided by chat engine 208 to the interactionprovided by the clinician through the second computing device 110 may betransparent to the patient or, in other examples, may be announced tothe patient and made explicit.

Still referring to FIG. 2 , in non-limiting embodiments, the chat engine208 may output the queries and responses received to the queries to theoutput generator 210. For example, after automatically interacting withthe operator of the first computing device 106, the chat engine 208 mayoutput the responses and queries to the output generator 210 in anyform. In some examples, the chat engine 208 may provide responses andqueries to the output generator 210 on an ongoing basis as they arereceived. In other examples, the chat engine 208 may provide responsesand queries to the output generator 210 after an automated patientinteraction is complete. The output generator 210 generates one or moreforms of structured data based on the queries and responses that arecommunicated to the second computing device 110. As an example, theoutput of the output generator may include one or more GUIs or portionsthereof that display the queries and the patient's responses. The outputmay also include one or more recommendations, suggested follow-upqueries, and/or the like.

With continued reference to FIG. 2 , in non-limiting embodiments thequery generator 206 is trained based on data received from the secondcomputing device 110 and/or other computing devices (not shown in FIG. 2) in communication with the server computer 102. For example, aclinician may select one or more queries to skip, select one or moreadditional queries to include, select a priority of one or more queries,and/or the like, using selectable options displayed on the GUI 112 basedon the output received from the output generator 210. This training datamay be provided by the second computing device 110 before, during,and/or subsequent to a patient interaction and may include one or moreinputs with respect to the queries and/or responses from the patientinteraction such as, for example, removing one or more queries from thesubset of queries, adding one or more queries to the subset of queries,editing one or more queries, merging one or more queries together,prioritizing one or more queries with respect to one or more otherqueries, deprioritizing one or more queries with respect to one or moreother queries, ordering one or more queries (e.g., arranging a sequenceor hierarchy of queries), and/or the like. In some non-limitingexamples, multiple users of multiple computing devices, including thesecond computing device 110, may provide input for training purposes.

The user inputs received from the operator of the second computingdevice 110 and/or other computing devices are input to the querygenerator 206 to improve and optimize subsequent iterations. Forexample, one or more weights of one or more nodes in a neural network orother model may be adjusted based on selections from the clinician. Insome non-limiting embodiments, the clinician's interaction with thepatient may also be used to train the query generator 206. For example,additional queries asked by the clinician after the chat engine 208 hascompleted its interaction and/or additional inputs from the clinician tocontrol or guide of the chat engine 208 during the interaction betweenthe patient and chat engine 208 may be used to train the query generator206 such that those additional queries may be identified in subsequentiterations. In non-limiting embodiments, such additional queries posedby the clinician may be used to train one or more rules for how queriesare identified, presented, and/or relate to one another. In non-limitingembodiments, the additional queries posed by the clinician may be usedto develop and/or design one or more GUIs (e.g., such as buttonplacement, different types of options such as YES or NO, and/or thelike).

Referring now to FIG. 3 , structured data is shown for a patient input302 (e.g., complaint data and patient data) and for a query output 304(e.g., a subset of queries to be presented to the patient). Although thestructured data shown in FIG. 3 is in JSON format, it will beappreciated that any structured data format may be used.

Referring now to FIGS. 4A and 4B, training GUIs 402, 404 are shownaccording to a non-limiting embodiment. The training GUIs 402, 404include selectable options (e.g., buttons, checkboxes, radio buttons,input fields, links, and/or the like) for interaction with a user, suchas a clinician. The training GUI 402 shown in FIG. 4A shows preliminaryqueries to ask based on a complaint (e.g., “I've had sinus pain for twoweeks”) and patient data (e.g., “26/Female”). Through the training GUI402, a user selects preliminary queries that should be asked based onthe complaint and patient data. The complaint may be an actual complaintthat was received from a patient that was already interacted with or, inother examples, may be training data generated and/or obtained for thepurpose of training. The training GUI 404 shown in FIG. 4B shows queriesbased on categories and selectable options for selecting one or morecategories and/or queries from the categories. Through the training GUI404, a user selects follow-up queries that should be asked based on thecomplaint, patient data, and, in some examples, responses received fromthe patient to the preliminary queries. The user selections receivedthrough the training GUIs 402, 404 are used to train themachine-learning model employed by the query generator. As explainedherein, in some non-limiting embodiments, the machine-learning model maybe trained based on actual queries presented to the patient by theclinician during and/or after the chat engine interaction.

Referring now to FIG. 5 , a chat annotation GUI 502 is shown accordingto a non-limiting embodiment. The chat annotation GUI 502 may be used totrain the machine-learning model and may be presented to one or moreclinicians or other users after a patient interaction occurs and/or inreal-time during the patient interaction. The chat annotation GUI 502shows queries presented to the patient, responses to the queries, andselectable options for a user to select one or more labels to thepatient responses. The labels may be any classifier such as tags,categories, keywords, and/or the like. In particular, a complaint 504 isdisplayed from an interaction and, next to the complaint 504, one ormore labels 506 are displayed for selection by a user. The user mayannotate the patient interaction by choosing and/or inputting one ormore labels for each query/response pair. It will be appreciated thatmultiple users may annotate a patient interaction such that labelsagreed upon by a majority of users may be utilized.

With continued reference to FIG. 5 , the chat annotation GUI 502 mayalso display the queries 508 presented by the chat engine and, adjacentto each query, the responses 510 received to that query. One or morelabels 512 may be displayed adjacent the queries 508 and responses 510for selection by the user. The chat annotation GUI 502 may also displaythe queries 514 presented by the clinician after the automated patientinteraction and, adjacent to each query, the responses 516 received tothat query. One or more labels 518 may be displayed adjacent the queries514 and responses 516 for selection by the user. It will be appreciatedthat the chat annotation GUI 502 may be arranged in various other ways.

Referring now to FIG. 8 , a flow diagram is shown for a system andmethod for automated patient interaction according to a non-limitingembodiment. It will be appreciated that the flow diagram is shown forexemplary purposes only and that the method may include fewer,additional, and/or different steps, and that the steps may be performedin any order. At step 800, a patient complaint is parsed. As explainedherein, the patient complaint may be parsed with a parsing engine usingone or more NLP algorithms. At step 802, an input vector is generatedbased on parsing the complaint and patient data related to thecomplaint. As explained herein, the input vector may be generated invarious ways including, for example, word embedding techniques utilizingmachine-learning algorithms. At step 804, the input vector is input intoa machine-learning algorithm. As explained herein, the machine-learningalgorithm may include a neural network, as an example, that correlates asubset of queries to a complaint and patient data (e.g., to an inputvector based on a complaint and patient data). At step 806, a subset ofqueries is determined from a plurality of queries based on themachine-learning algorithm or other modeling technique.

With continued reference to FIG. 8 , at step 808 an automated patientinteraction is conducted based on the subset of queries determined atstep 806. As explained herein, a chat engine may conduct an automatedconversation with the patient to collect additional information. At step810, it is determined whether the system should transition from theautomated patient interaction conducted at step 808 to an interactionwith a human operator (e.g., a clinician) at step 812. Various eventsmay trigger the transition from the automated interaction to theclinician-driven interaction including, for example, input from theclinician stopping the automated interaction, the chat engine exhaustingthe subset of queries, a predetermined response from the patient, and/orthe like. At step 812, interaction between the clinician and patient isfacilitated. For example, the clinician may be presented with one ormore GUIs for interacting with the patient to continue the conversationthat was conducted with the chat engine at step 808.

Still referring to FIG. 8 , after step 812 several steps (not shown inFIG. 8 ) may be performed by the clinician or other provider. Forexample, the clinician may provide a diagnosis, recommendation, and/orthe like, to complete the encounter. After or during the encounter, oneor more clinicians (including but not limited to the clinician thatinteracted with the patient at step 812) is presented with a chatannotation GUI at step 814 that allows the clinician or other user toprovide input that is used to train the machine-learning algorithm(e.g., further train one or more models) at step 816. As explainedherein, the machine-learning algorithm may also be trained at step 816utilizing the follow-up queries and other inputs provided by theclinician at step 812 and/or during the automated interaction with thechat engine at step 808.

Referring now to FIG. 9 , shown is a diagram of example components of acomputing device 900 for implementing and performing the systems andmethods described herein according to non-limiting embodiments. Thecomputing device 900 may correspond to, for example, the first computingdevice 106, the second computing device 110, and/or the server computer102. In some non-limiting embodiments, device 900 may include additionalcomponents, fewer components, different components, or differentlyarranged components than those shown in FIG. 9 . Device 900 may includea bus 902, a processor 904, memory 906, a storage component 908, aninput component 910, an output component 912, and a communicationinterface 914. Bus 902 may include a component that permitscommunication among the components of device 900. In some non-limitingembodiments, processor 904 may be implemented in hardware, firmware, ora combination of hardware and software. For example, processor 904 mayinclude a processor (e.g., a central processing unit (CPU), a graphicsprocessing unit (GPU), an accelerated processing unit (APU), etc.), amicroprocessor, a digital signal processor (DSP), and/or any processingcomponent (e.g., a field-programmable gate array (FPGA), anapplication-specific integrated circuit (ASIC), etc.) that can beprogrammed to perform a function. Memory 906 may include random accessmemory (RAM), read only memory (ROM), and/or another type of dynamic orstatic storage device (e.g., flash memory, magnetic memory, opticalmemory, etc.) that stores information and/or instructions for use byprocessor 904.

With continued reference to FIG. 9 , storage component 908 may storeinformation and/or software related to the operation and use of device900. For example, storage component 908 may include a hard disk (e.g., amagnetic disk, an optical disk, a magneto-optic disk, a solid statedisk, etc.) and/or another type of computer-readable medium. Inputcomponent 910 may include a component that permits device 900 to receiveinformation, such as via user input (e.g., a touch screen display, akeyboard, a keypad, a mouse, a button, a switch, a microphone, etc.).Additionally, or alternatively, input component 910 may include a sensorfor sensing information (e.g., a global positioning system (GPS)component, an accelerometer, a gyroscope, an actuator, etc.). Outputcomponent 912 may include a component that provides output informationfrom device 900 (e.g., a display, a speaker, one or more light-emittingdiodes (LEDs), etc.). Communication interface 914 may include atransceiver-like component (e.g., a transceiver, a separate receiver andtransmitter, etc.) that enables device 900 to communicate with otherdevices, such as via a wired connection, a wireless connection, or acombination of wired and wireless connections. Communication interface914 may permit device 900 to receive information from another deviceand/or provide information to another device. For example, communicationinterface 914 may include an Ethernet interface, an optical interface, acoaxial interface, an infrared interface, a radio frequency (RF)interface, a universal serial bus (USB) interface, a Wi-Fi® interface, acellular network interface, and/or the like.

Device 900 may perform one or more processes described herein. Device900 may perform these processes based on processor 904 executingsoftware instructions stored by a computer-readable medium, such asmemory 906 and/or storage component 908. A computer-readable medium mayinclude any non-transitory memory device. A memory device includesmemory space located inside of a single physical storage device ormemory space spread across multiple physical storage devices. Softwareinstructions may be read into memory 906 and/or storage component 908from another computer-readable medium or from another device viacommunication interface 914. When executed, software instructions storedin memory 906 and/or storage component 908 may cause processor 904 toperform one or more processes described herein. Additionally, oralternatively, hardwired circuitry may be used in place of or incombination with software instructions to perform one or more processesdescribed herein. Thus, embodiments described herein are not limited toany specific combination of hardware circuitry and software. The term“programmed or configured,” as used herein, refers to an arrangement ofsoftware, hardware circuitry, or any combination thereof on one or moredevices.

Although embodiments have been described in detail for the purpose ofillustration, it is to be understood that such detail is solely for thatpurpose and that the disclosure is not limited to the disclosedembodiments, but, on the contrary, is intended to cover modificationsand equivalent arrangements that are within the spirit and scope of theappended claims. For example, it is to be understood that the presentdisclosure contemplates that, to the extent possible, one or morefeatures of any embodiment can be combined with one or more features ofany other embodiment.

What is claimed is:
 1. A computer-implemented method for automatedpatient interaction, comprising: conducting, with at least oneprocessor, an automated communication with a patient on a patient devicebased on a plurality of queries; collecting, with at least oneprocessor, a plurality of responses from the patient via the patientdevice during the automated communication; and in response to a triggerevent, transitioning the automated communication to a communicationbetween the patient device and a clinician device by presenting at leastone graphical user interface on the clinician device configured tofacilitate the communication between the patient device and theclinician device.
 2. The computer-implemented method of claim 1, whereinthe trigger event comprises at least one of the following: input fromthe clinician device, exhaustion of the plurality of queries, receivinga predetermined response from the patient device, or any combinationthereof.
 3. The computer-implemented method of claim 1, whereintransitioning the automated communication to the communication betweenthe patient device and the clinician device is transparent to thepatient device.
 4. The computer-implemented method of claim 1, whereinthe communication between the patient device and the clinician devicecontinues the automated communication.
 5. The computer-implementedmethod of claim 1, further comprising: storing additional queriescommunicated by the clinician device to the patient device during thecommunication; and presenting at least one query of the additionalqueries during a subsequent automated communication with the patient ora different patient.
 6. The computer-implemented method of claim 1,wherein transitioning from the automated communication to thecommunication occurs automatically in response to the trigger event, andwherein the trigger event comprises a clinician operating the cliniciandevice communicating with an operator of the patient device.
 7. Thecomputer-implemented method of claim 1, further comprising: receiving,from the clinician device, a selection of at least one of the following:one or more queries of the plurality of queries to skip, one or moreadditional queries to present during the automated communication, apriority of one or more queries of the plurality of queries, or anycombination thereof, wherein the automated communication is conductedbased on the selection.
 8. A system for automated patient interaction,comprising: at least one processor in communication with at least onedata storage device, the at least one processor programmed or configuredto: conduct an automated communication with a patient on a patientdevice based on a plurality of queries; collect a plurality of responsesfrom the patient via the patient device during the automatedcommunication; and in response to a trigger event, transition theautomated communication to a communication between the patient deviceand a clinician device by presenting at least one graphical userinterface on the clinician device configured to facilitate thecommunication between the patient device and the clinician device. 9.The system of claim 8, wherein the trigger event comprises at least oneof the following: input from the clinician device, exhaustion of theplurality of queries, receiving a predetermined response from thepatient device, or any combination thereof.
 10. The system of claim 8,wherein transitioning the automated communication to the communicationbetween the patient device and the clinician device is transparent tothe patient device.
 11. The system of claim 8, wherein the communicationbetween the patient device and the clinician device continues theautomated communication.
 12. The system of claim 8, wherein the at leastone processor is further programmed or configured to: store additionalqueries communicated by the clinician device to the patient deviceduring the communication; and present at least one query of theadditional queries during a subsequent automated communication with thepatient or a different patient.
 13. The system of claim 8, whereintransitioning from the automated communication to the communicationoccurs automatically in response to the trigger event, and wherein thetrigger event comprises a clinician operating the clinician devicecommunicating with an operator of the patient device.
 14. The system ofclaim 8, wherein the at least one processor is further programmed orconfigured to: receive, from the clinician device, a selection of atleast one of the following: one or more queries of the plurality ofqueries to skip, one or more additional queries to present during theautomated communication, a priority of one or more queries of theplurality of queries, or any combination thereof, wherein the automatedcommunication is conducted based on the selection.
 15. A computerprogram product for automated patient interaction, comprising at leastone non-transitory computer-readable medium including programinstructions that, when executed by at least one processor, cause the atleast one processor to: conduct an automated communication with apatient on a patient device based on a plurality of queries; collect aplurality of responses from the patient via the patient device duringthe automated communication; and in response to a trigger event,transition the automated communication to a communication between thepatient device and a clinician device by presenting at least onegraphical user interface on the clinician device configured tofacilitate the communication between the patient device and theclinician device.
 16. The computer program product of claim 15, whereinthe trigger event comprises at least one of the following: input fromthe clinician device, exhaustion of the plurality of queries, receivinga predetermined response from the patient device, or any combinationthereof.
 17. The computer program product of claim 15, wherein thecommunication between the patient device and the clinician devicecontinues the automated communication.
 18. The computer program productof claim 15, wherein the at least one processor is further caused to:store additional queries communicated by the clinician device to thepatient device during the communication; and present at least one queryof the additional queries during a subsequent automated communicationwith the patient or a different patient.
 19. The computer programproduct of claim 15, wherein transitioning from the automatedcommunication to the communication occurs automatically in response tothe trigger event, and wherein the trigger event comprises a clinicianoperating the clinician device communicating with an operator of thepatient device.
 20. The computer program product of claim 15, whereinthe at least one processor is further caused to: receive, from theclinician device, a selection of at least one of the following: one ormore queries of the plurality of queries to skip, one or more additionalqueries to present during the automated communication, a priority of oneor more queries of the plurality of queries, or any combination thereof,wherein the automated communication is conducted based on the selection.